package com.bcbim.authentication_interface.role.service;

import com.bcbim.authentication_interface.role.dao.RoleDAO;
import com.bcbim.authentication_interface.role.dto.RoleDTO;
import com.bcbim.authentication_interface.role.vo.RoleListVO;
import com.bcbim.authentication_interface.role.vo.RoleVO;
import com.bcbim.common.sys.Code;

import java.util.List;

/**
 * @Description: 角色管理service
 * @Author XueHao
 * @Date 2021/8/16
 * @Version V1.0
 **/
public interface RoleService {

    /**
     * @Description 查询角色条数
     * @Author XueHao
     * @Date 2021/8/16
     * @return int
     */
    int getRoleListCount(RoleDTO roleDTO);

    /**
     * @return List<RoleListVO>
     * @Description 查询角色列表
     * @Author XueHao
     * @Date 2021/8/16
     */
    List<RoleListVO> listRole(RoleDTO roleDTO);

    /**
     * @Description 删除角色
     * @Author XueHao
     * @Date 2021/8/16
     * @return int
     */
    int removeRole(String id);

    /**
     * @Description 新增角色
     * @Author XueHao
     * @Date 2021/8/16
     * @return int
     */
    int insertRole(RoleDAO roleDAO);

    /**
     * @return int
     * @Description 修改角色
     * @Author XueHao
     * @Date 2021/8/17
     */
    int updateRole(RoleDAO roleDAO);

    /**
     * @Description 状态下拉
     * @Author XueHao
     * @Date 2021/8/20
     * @return List<Code>
     */
    List<Code> selectEnable();

    /**
     * @Description 查询角色详情
     * @Author XueHao
     * @Date 2021/8/23
     * @return RoleVO
     */
    RoleVO getRoleVO(String id);
}